A necessary condition of internationalization is to design and develop products easily adapting to requirements of different areas. It requires that switching and displaying multiple language on the World Wide Web (referred to as “WWW”) page can be conveniently implemented for the product accessed through networks. This kind of convenience includes two aspects:
1. Addition and maintenance of multiple language for a Web page;
2. The interactive experience when using Web page by users. The former requires that the method for processing a Web page supporting multiple languages needs to minimize the workload when adding a new language and maintaining existing language, and the latter requires the method has a higher response speed.
One of following three solutions is usually adopted by the prior art to implement the Web page supporting multiple language:
1. A HTML file is written for each language in each Web page, and the HTML (Hyper Text Makeup Language) file corresponding to one language is reloaded when the language is switched.
2. Each Web page corresponds to a HTML file and a translation file, the translation file is usually, but not limited to an extensible Markup Language (referred to as “XML”) file (the following uses the XML file as the translation file for illustration), and a corresponding node set is built for every language in the XML file. Strings having difference with various languages (referred to as “language string” in the following) that are dynamically inserted using Web scripting codes or in the HTML file are extracted, and are associated with the strings of node sets for various languages in the XML file through index. Strings in the HTML file is replaced through index from the node set of corresponding language in the XML file, when loading a Web page or switching languages.
3. Each Web page has a corresponding HTML file, and a XML file is written for each language. Language strings in the HTML file are extracted and associated with the strings in respective XML file through index. The strings in the HTML file are replaced from the XML file of the corresponding language through index, when loading a Web page or switching language.
For the maintainability of the Web page supporting multiple languages: the solution 2 is better than the solution 1 while the solution 3 is better than the solution 2. For the responding speed when the user switches Web page language: the solution 2 and the solution 3 are better than the solution 1. The comparison between the solution 2 and the solution 3 is determined by the specific circumstances: both time complexity if traversing the algorithm are same, which both are square of the number of language strings(n) in the current Web page, and for the interactive speed of the Web front-end(browser) and the Web backend(server): the solution 2 only needs to obtain one HTML file and one XML file (or referred as XMLII) when loading a Web page and needs to obtain nothing when switching language; the solution 3 needs to obtain one HTML file and one XML file (or referred as XMLIII) when loading a Web page, and needs to obtain the XML file of another corresponding language (or referred as XMLIII′) when switching language. When types of supported language(L) are fewer(L≤2), the file lengths of XMLII and XMLIII are similar, and the main factor of influencing user experiences is the interaction number of the Web front-end and the Web backend, so the solution 2 is better than the solution 3. When types of supported language(L) are many (L>2), the file length of XMLII is L times the file length of XMLIII, and the main factor of influencing the user experience is interaction time of the Web front-end and the Web backend. The solution 3 can bisect the interaction time when loading a new Web page to several time segments of every language switching, and the frequency for the user to switch languages again is much lower than the frequency for the user to load a new Web page, so the solution 3 is better than the solution 2.
With the internationalization of products, more and more types of language are required to be supported by Web pages, so at present the methods for implementing Web pages supporting multiple language mostly use the solution 3. However, the solution 2 and the solution 3 both have following defects:
1. Although the language strings in Web pages adopt a design of soft coding (i.e. HTML files and language strings are separated), the language supported by the product exists in the Web scripting code by way of hardcode. Therefore, the source code needs to be modified when each time a product supporting different language type sets is provided;
2. The presently known three solutions all take the ID properties of tags (referred to as “language tag” in the following) including language string in the HTML file as the index keys between the HTML file and the XML file. However, the ID properties of all tags in one HTML file are required not to be repeated by the World Wide Web Consortium standards, resulting in that the tags of the same language string displayed in different position of a HTML file have to be set with different position properties, and meanwhile repeated in the corresponding XML file multiple times;
3. The language string has to be stored in multiple corresponding XML, respectively, when multiple HTML files have the same language string;
4. For some Web pages in which the language strings are fewer and meanwhile have close relationships with each other (may be frequently switched by the user), one XML file has to be loaded at same time when each time loading a new HTML file, leading to increasing the pressure of interaction between the Web front-end and the backend;
5. When a user selects switching languages, the language string which is dynamically inserted into the Web page by the Web scripting code mode (referred to as “dynamic language string”, indicating the language string that is not associated with the XML file node by the language tag in the HTML file) cannot be replaced, or the Web page can only be refreshed at the same time of switching languages.
In summary, the workload when adding a new language and maintaining existing language(s) and the redundancy among the languages are increased by above defect1, defect2 and defect 3; the response speed for the user to switch Web pages or languages is reduced by above defect4 and defect5.